open Castling;;

module CharPG = ParserGenerator (CharToken);;
open CharPG;;

let rec term_expression = lazy !! (
	one_of ~name:"expression" [
		"integer_literal", element '1';
		"new_aggregate", skip (element 'N') >> term_expression >> skip (element '(');
		"component_ref", term_expression >> skip (element '.')] 
);;

debug := true;;
runtime_debug := true;;
generate term_expression;;
